{{tag>Jaunty internet bluetooth tutoriel gsm mobile}}
----

====== Configuration d'une connexion internet via un téléphone portable bluetooth ======

L'objectif de cette page est d'accéder à internet avec un ordinateur, en utilisant comme modem un téléphone portable, via une liaison bluetooth.

Il est aussi possible de le faire via un câble USB, une liaison infrarouge, ou un câble série: [[:telephone_modem|voir cette page]]

===== Pré-requis =====

  * Avoir le [[:bluetooth]] fonctionnel
  * Avoir [[:tutoriel:comment_installer_un_paquet|installé le paquet]] [[apt://gnome-ppp|gnome-ppp]]
  * Désactiver le reseau avec nm-applet (clic droit sur nm-applet et décocher "activer le reseau") sinon ça ne marche pas...

===== Configuration =====

==== Rechercher l'adresse bluetooth du téléphone ====

Ouvrez un [[:terminal]] et tapez:
<code>
hcitool scan
</code>

vous obtiendrez:

<file>
Scanning ...
        00:0E:07:30:6B:78       T630
</file>

==== Rechercher la liste des services du téléphone avec sdptool ====

Tapez dans un [[:terminal]]:

<code>
sdptool browse 00:0e:07:30:6b:78
</code>

Rechercher dans la liste qui apparaît le service **Dial-up Networking** (voir flèche):

<file>
Browsing 00:0E:07:30:6B:78 ...
Service Name: Dial-up Networking <-----
Service RecHandle: 0x10000
Service Class ID List:
  "Dialup Networking" (0x1103)
  "Generic Networking" (0x1201)
Protocol Descriptor List:
  "L2CAP" (0x0100)
  "RFCOMM" (0x0003)
    Channel: 1 <----
Profile Descriptor List:
  "Dialup Networking" (0x1103)
    Version: 0x0100
</file>

Notez le canal (Channel, voir flèche). ici 1

Problème : sur certaines machines (Samsung SGH-X810), ça donne ça :
<file>
$ sdptool browse 00:16:DB:2B:88:A3
Browsing 00:16:DB:2B:88:A3 ...
Service Search failed: Connection timed out
</file>
Sachant que ce modèle permet d'aller sur le net avec un Nokia-Maemo, il doit y avoir une autre méthode...

===== Utilisation =====


==== Créer un périphérique correspondant au téléphone avec rfcomm ====

La syntaxe est 
  rfcomm connect <n°périph. à créer> [addresse du périph.bluetooth] [canal]

Ce qui donne, pour notre exemple, cette commande, à taper dans un [[:terminal]]:

<code>
rfcomm connect 0 00:0E:07:30:6B:78 1
</code>

Vous obtiendrez à peut près ça:

<file>
Connected /dev/rfcomm0 to 00:0E:07:30:6B:78 on channel 1
Press CTRL-C for hangup
</file>

<note important>En cas d'erreur, remplacer rfcomm connect 0 par rfcomm connect 1. 

**rfcomm** crée le périphérique **/dev/rfcomm0** (ou **/dev/rfcomm1** si vous avez fait la manipulation en cas d'erreur).

Ce périphérique devra être mentionné dans la configuration du modem dans la suite.</note>

**Ne pas fermer le terminal que vous avez employé, ceci couperait la connexion**.

<note>Il est possible d'utiliser la commande **rfcomm bind** à la place de **rfcomm connect**. La syntaxe restant la même mais cela permet de lier **/dev/rfcomm0** sans établir une connexion permanente. La liaison Bluetooth avec le téléphone est établie automatiquement et uniquement lorsque une application utilise **/dev/rfcomm0**. De plus cette façon de faire permet de fermer en toute sérénité le terminal utilisé pour lancer la commande. Seul inconvénient: il faut lancer cette commande via un sudo car elle requiert d'avoir les privilèges root pour s'exécuter.</note>
==== Rendre la liaison rfcomm avec le téléphone permanente ====

Une fois la connexion testée avec succès il est possible de rendre permanente la liaison avec le téléphone. Pour cela il vous faut éditer le fichier **/etc/bluetooth/rfcomm.conf** et y copier le contenu suivant en remplaçant avec l'adresse et le channel Bluetooth de votre téléphone:

<file>rfcomm0 {
	# Liaison automatique de rfcomm0 au démarrage
	bind yes;

	# Adresse Bluetooth du périphérique
	device 00:0E:07:30:6B:78;

	# Canal RFCOMM à utiliser
	channel	1;
}</file>

<note important>Si votre fichier **rfcomm.conf** contient déjà une section **rfcomm0** qui n'est pas commentée il faut aussi remplacer le nom de la section par rfcomm1 ou rfcomm2 ou rfcomm3 ...</note>

A chaque démarrage le fichier **/dev/rfcomm0** sera lié à votre téléphone. La connexion en Bluetooth avec celui-ci sera établie automatiquement dès l'utilisation de **/dev/rfcomm0** par **gnome-ppp** (voir ci-dessous).

<note>Si cela ne fonctionne pas et pour éviter de devoir taper la commande à chaque fois,  [[:raccourci-lanceur|Créez un lanceur]]. Type: Application dans un terminal. Commande:
<file>rfcomm connect 0 00:0E:07:30:6B:78 1</file></note>



==== Configuration de gnome-ppp ====

<note>Voir avec votre opérateur mobile pour les identifiant et numéro de téléphone si ceux indiqués dans le tableau ne fonctionnent pas</note>

  * Ouvrez **gnome-ppp** depuis le menu **Applications -> Internet -> GNOME PPP** (ou depuis un terminal) et éditez les cases en respectant la liste ci-dessous (oui oui ce sont bien les vrais numéros !):
    * Pour SFR: 
      * Nom d'utilisateur:**websfr**
      * Mot de passe:**websfr**
      * Numéro de Téléphone:<code>*99***1# ou *99***3#</code>
    * Pour Orange:
      * Nom d'utilisateur:**orange**
      * Mot de passe:**orange**
      * Numéro de Téléphone:***99#**
    * Pour Bouygues:
      * Nom d'utilisateur:**wap**
      * Mot de passe:**wapwap**
      * Numéro de Téléphone:***99#**

{{utilisateurs:gppp.png}}

  * Cliquez sur Paramètres et éditez comme ci-dessous (en respectant rfcomm comme vous l'avez paramétré plus haut) :

{{utilisateurs:gppp2.png}}

  * Ensuite, quand vous avez édité le tout comme il faut, fermez et essayez de vous connecter&nbsp;; si ça ne fonctionne pas, rouvrez les **préférences**, puis cliquez sur **Chaines d'initialisation**.

Vous devez obtenir une ligne correspondant à **init 2**. Supprimez-la (enlevez tous les caractères présents) et faites Entrer, puis cliquez sur **fermer** puis encore **fermer**, et retentez la connexion.

<note important>Chez moi, la connexion ne marche que sans cette ligne (en effaçant la ligne qui y était avant), et en ajoutant les lignes ci-dessous, elle ne marche plus ...

N'hésitez donc pas à essayer avant sans cette ligne ...</note>

  * Si ça ne marche toujours pas, essayez de mettre en chaîne d'initialisation, les trucs indiqués dans la liste :
    * Pour SFR:
      * AT+cgdcont=10,"IP","websfr"
      * AT+cgdcont=1,"IP","websfr"
      * AT+cgdcont=,"IP","websfr"
      * Les même avec à la place de **"websfr"**, **"wapsfr"**
    * Pour Orange:
      * AT+cgdcont=10,"IP","orange.fr"
      * AT+cgdcont=1,"IP","orange.fr"
      * AT+cgdcont=,"IP","orange.fr"
      * les mêmes avec à la place de **"orange.fr"**, **"orange-mib"**
    * Pour Bouygues:
      * AT+cgdcont=10,"IP","ebouygtel.com"
      * AT+cgdcont=1,"IP","ebouygtel.com"
      * AT+cgdcont=,"IP","ebouygtel.com"
      * les mêmes avec à la place de **"ebouygtel.com"**, FIXME **"???"**

{{materiel:gnome-ppp-chaines_d_initialisation.png}}

==== Configuration avec wvdial ====

Il est également possible d'utiliser wvdial au lieu de gnome-ppp pour se connecter.

Remplir le fichier /etc/wvdial.conf avec les donnes suivantes :
<code>
[Dialer Defaults]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init3 = AT+CGDCONT=1,"IP","orange"
Modem Type = Analog Modem
ISDN = 0
Phone = *99#
New PPPD = yes
Modem = /dev/rfcomm0
Username = orange
Password = orange
Baud = 460800
</code>

Remplacer les paramètres déterminés pour gnome-ppp :

   * Init3
   * Phone
   * Modem
   * Username
   * Password

Lancer ensuite la commande suivante dans un [[:terminal]] :

<code>
wvdial
</code>
===== Modèles testés =====
^ Modèle ^ Opérateur ^ Spécificités ^
| NOKIA 6500 Slide | Bouygues | chaine d'initialisation = AT+cgdcont=1,"IP","ebouygtel.com" |
| Sony Ericson T610 | Orange | chaine d'initialisation = AT+CGDCONT=1,"IP","orange" |
| Nokia E65 | Orange | chaine d'initialisation = AT+CGDCONT=1,"IP","orange" |
| Nokia E63 | Mobile Viking | Channel 4 APN:web.be usernam:web pw:web|
| Nokia N95 | Orange | Sans modification de la chaine d'initialisation |
| Sony Ericson W595 | Bouygues | Sans modification de la chaine d'initialisation |
| LG KM900 Arena| Virgin (paramètres orange) | Sans modification de la chaine d'initialisation (par contre, j'ai du ajouter un DNS dans /etc/resolv.conf, pas cherché pourquoi) |

===== Liens =====


  * http://www.lea-linux.org/documentations/index.php/Hardware-hard_net-gprs
  * http://www.olivierberger.org/btgprsfisio820orangefr.html#id2519031


----
//Contributeurs: [[:utilisateurs:Harlock1]], [[utilisateurs:Fabien26]], [[utilisateurs:NSB]], [[utilisateurs:cymcy]].//